package notifications.dialogs.example;

import android.app.Activity;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import android.widget.Toast;

public class NotificationsDialogsExampleActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        // Cargamos la vista personalizada
        ViewGroup vistaRaiz = (ViewGroup) findViewById(R.id.toastRaiz);
        LayoutInflater inflater = getLayoutInflater();
        View layout = inflater.inflate(R.layout.mi_toast, vistaRaiz);
        // Cambiamos el texto (buscamos el label y lo modificamos)
        TextView texto = (TextView) layout.findViewById(R.id.texto);
        texto.setText("Esto es un aviso personalizado");
        // Creamos el toast y le asignamos la vista que hemos personalizado
        Toast toast = new Toast(getApplicationContext());
        toast.setView(layout);
        // Lo centramos en pantalla
        toast.setGravity(Gravity.CENTER_HORIZONTAL | Gravity.CENTER_VERTICAL, 0,0);
        // Permanecerá más rato en pantalla
        toast.setDuration(Toast.LENGTH_LONG);
        // Lo mostramos
        toast.show();
        
        /*
         * Creacion de una notificacion en el Status Bar
         */
	    // Conseguimos una referencia al servicio encargado 
	    // de mostrarlos
	    String ns = Context.NOTIFICATION_SERVICE;
	    NotificationManager notificationManager = (NotificationManager) getSystemService(ns);
	    // Definimos el aviso
	    int icono = R.drawable.icon;
	    CharSequence aviso = "Fuck Yeah!!!!";
	    long ahora = System.currentTimeMillis();
	    Notification notification = new Notification(icono, aviso, ahora);
	    // Definimos los detalles del aviso
	    Context context = getApplicationContext();
	    CharSequence titulo = "Android Rocks !!!";
	    CharSequence texto2 = "And you know it baby";
	    Intent notificationIntent = new Intent(this, NotificationsDialogsExampleActivity.class);
	    PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);
	    notification.setLatestEventInfo(context, titulo, texto2, contentIntent);
	    // Pasamos el aviso al manager
	    final int ANDROIDNOTIFICACION_ID = 1;
	    notificationManager.notify(ANDROIDNOTIFICACION_ID, notification);
        
    }
}